When a telephone call is placed, the caller has traditionally been supplied with an intermittent ringing sound signaling that the call has not yet been connected to the called party or callee. When the callee answers the call, the intermittent ringing sound is stopped and the callee is connected to the caller. The period from when the call is placed to when the call is answered is often referred to as the “call ringback.” The intermittent ringing sound is referred to as the “ringback tone.”
Various telephone service providers have recently started to allow their customers to pick the ringback tone that the customers want their callers to hear. One telephone service provider allows its customers to select a custom ringback tone from hundreds of musical clips. For example, one customer may select a clip of a Mozart symphony while another customer may select a clip of a rock 'n roll group.
Although the placing of a telephone call is a common form of real-time conversations, another common form of real-time conversations is instant messaging. An instant messaging service allows participants at endpoints to send messages and have them received within a second or two by the other participants in the conversation. The receiving participants can then send responsive messages to the other participants in a similar manner. To be effective, a real-time conversation relies on the participants' becoming aware of, reviewing, and responding to received messages very quickly. This quick response is in contrast to conventional electronic mail systems in which the recipients of electronic mail messages respond to messages at their convenience.
When an initiating participant wants to start a real-time conversation, that participant would typically like to know whether the intended participants are available to respond in real time to a message. If not, then communications via conventional electronic mail, voicemail, or some other mechanism may be more appropriate. For example, if the computers of the intended participants are currently powered off, then a real-time conversation may not be possible. Moreover, if their computers are currently powered on, but the intended participants are away from their computers, a real-time conversation is also not possible. The initiating participant would like to know the availability of the intended participants so that an appropriate decision on the form of communication can be made.
The availability status of an entity such as a computer system (i.e., endpoint) or a user associated with that computer system is referred to as “presence information.” Presence information identifies the current “presence state” of the user. Users make their presence information available so that other users can decide how best to communicate with them. For example, the presence information may indicate whether a user is logged on (“online”) with an instant messaging server or is logged off (“offline”). Presence information may also provide more detailed information about the availability of the user. For example, even though a user is online, that user may be away from their computer in a meeting. In such a case, the presence state may indicate “online” and “in a meeting.”
In an instant messaging context, a publishing user (“publisher” ) may provide their presence information to a presence server that then provides the presence information to subscribing users (“subscribers”). Thus, a presence server may use a subscriber/publisher model to provide the presence information for the users of a presence server. Whenever the presence information of a user changes, the presence server is notified of the change by that user's computer system and in turn notifies the subscribing users of the change. A subscribing user can then decide whether to initiate an instant messaging conversation based on the presence information of the intended participants. For example, if the presence information indicates that a publishing user is currently in a conference telephone call, then the subscribing user may decide to send an instant message, rather than place a telephone call, to the publishing user. If the subscribing user, however, needs to call and speak with the publishing user, the subscribing user needs to monitor the presence information of the publishing user to know when the call can be placed. When the subscribing user notices that the publishing user's presence information indicates that the telephone conference has been concluded, the subscribing user can then place the telephone call.